package com.example.demospringmybatisplus.listener;

import com.example.demospringmybatisplus.entity.Invoice;
import com.example.demospringmybatisplus.enums.InvoiceActionEnum;

/**
 * 发票操作通知监听器
 *
 * @author huahua
 * @DATE 2025/8/2
 **/
public interface InvoiceActionListener {
    /**
     * 通知监听器发票操作事件
     * 定义监听器接收发票操作通知的接口
     * 当发票操作发生时，监听器会收到通知，并执行相应的操作
     *
     * @param invoiceAction 发票操作类型
     * @param current 当前发票对象
     * @param before 操作前发票对象
     */
    void notify(InvoiceActionEnum invoiceAction, Invoice current, Invoice... before);
}
